Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

107
Vistas
La función asíncrona devuelve la promesa, pero console.log da el resultado deseado | Módulo propio de NodeJS

Acabo de escribir una API simple y pequeña para definir el género de una persona. Funciona a través de una solicitud de obtención de una página que me devuelve un objeto JSON.

Este es el código de mi módulo:

 'use strict'; const https = require('https'); exports.getGender = function (name) { return new Promise((resolve) => { //send request to api https.get(`https://api.genderize.io?name=${name}`, (resp) => { var data = ''; //replace data resp.on('data', (chunk) => { data += chunk; }); //define information on end of query resp.on('end', () => { var info = JSON.parse(data); //check accuracy of gender if (info.probability >= 0.8) { //check gender if (info.gender == 'male') { resolve('Sehr geehrter Herr'); } else if (info.gender == 'female') { resolve('Sehr geehrte Frau'); } } else { resolve('Sehr geehrte/r Frau / Herr'); } }); }); }); };

Y esta es la llamada que hago en el archivo principal:

 //get gender of person async function getG(name) { const data = await genderApi.getGender(name); return data; } getG('Tim');

Pero el resultado es solo Promise { <pending> } , si reemplazo los return data con un console.log(data) simplemente funciona bien y me muestra el resultado en la consola, pero realmente lo necesito para devolver el valor porque más tarde on Utilizo esta función en un mensaje de texto para el usuario

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La función getG también es asíncrona, por lo que debe usar con la palabra clave await o .then devolución de llamada

 const val = await getG('Tim'); // or getG('Tim').then((val) => { console.log(val) })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda